package com.claimSettlement.service;

import com.claimSettlement.pojo.Case;
import com.claimSettlement.pojo.Worker;


import java.util.List;
/**
 * 出险Service接口
 */
public interface CaseService {
    /**
     * 查询所有报案信息
     * @return
     */
    List<Case> getCaseAll();

    /**
     * 添加报案信息
     * @param cases 报案对象
     * @return
     */
    int insertCase(Case cases);

    /**
     * 修改案件处理
     * @param caseHandling 案件处理
     * @param caseId 报案编号
     * @return
     */
    int updCaseHandling( int caseHandling,int caseState, String caseId);

    /**
     * 添加派工信息
     * @param caseId 报案编号
     * @param userId 员工编号
     * @return
     */
    int insertWorker(String caseId, int userId,String dispatchedWorkerEndTime);

    /**
     * 根据派工工号查询案件处理不为注销，案件状态不为结案的出险信息
     * @param userId
     * @return 集合
     */
    List<Case> getCaseByUserId(int userId,int shuzhi,int inbh,int endtime);

    /**
     * 根据出险编号查询出险信息
     * @param caseId 出险编号
     * @return 出险信息
     */
    Case getCaseBycaseId(String caseId);
    /*
     * 根据编号查询
     * @param caseId
     * @return
     */
    Case getCaseOne(String caseId);

    /**
     * 模糊查询
     * @param caseId 出险编号
     * @param recognizeeName 被保人
     * @param plateNumber 车牌号
     * @return
     */
    List<Case> getCaseId(String caseId,String recognizeeName,String plateNumber);

    /**
     * 修改报案信息
     * @param cases
     * @return
     */
    int updateCase(Case cases);

    /**
     * 未注销的出险信息
     * @return
     */
    List<Case> getCaseChul();

    /**
     * 派工信息
     * @return
     */
    List<Worker> getWorkerAll();

    /**
     * 查询出险编号是否在查勘表中存在
     * @param caseId 出险编号
     * @return 存在返回大于0，不存在返回0
     */
    int getSurveyCountCaseId(String caseId);

    /**
     * 根据被保人编号和车牌号查找出险记录次数
     * @param recognizeeId
     * @param plateNumber
     * @return
     */
    int getCaseCount(String recognizeeId,String plateNumber);

}
